package com.ynet.middleground.user.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 短信记录信息
 * </p>
 *
 * @author liulx
 * @since 2022-12-21
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("ur_sms_log")
public class SmsLog extends Model<SmsLog> {

    private static final long serialVersionUID = 1L;

    /**
     * 编号
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 手机号
     */
    private String mobile;

    /**
     * 短信发送的内容
     */
    private String msgContent;

    /**
     * 下发批次的 id
     */
    private String batchId;

    /**
     * 签名id
     */
    private String signId;

    /**
     * 计费条数
     */
    private Integer chargingNum;

    /**
     * 计费单价
     */
    private BigDecimal unitPrice;

    /**
     * 是否成功 1：成功，0：失败 默认 1
     */
    private Integer isSuccess;

    /**
     * 错误信息
     */
    private String errMsg;

    /**
     * 发送短信渠道商的名称
     */
    private String supplierName;

    /**
     * 渠道
     */
    private String channel;

    /**
     * 短信平台 key
     */
    private String appKey;

    /**
     * 短信平台 secret
     */
    private String appSecret;

    /**
     * 所属业态 id
     */
    private Integer formatId;

    /**
     * 服务请求信息
     */
    private String requestMsg;

    /**
     * 服务响应信息
     */
    private String responseMsg;

    /**
     * api 调用消耗时间(毫秒)
     */
    private Integer costTime;

    /**
     * 请求时间
     */
    private LocalDateTime requestTime;

    /**
     * 响应时间
     */
    private LocalDateTime responseTime;

    /**
     * 创建时间
     */
    private LocalDateTime gmtCreate;

    /**
     * 创建者
     */
    private Integer createBy;

    /**
     * 更新时间
     */
    private LocalDateTime gmtModified;

    /**
     * 更新者
     */
    private Integer modifiedBy;

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
